//-----------------------------------------------------------------------
// <copyright file="LearningStandardItem.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------

using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace SManagement.Models
{
    /// <summary>
    /// Content that either describes a specific competency (learning objective) or
    /// describes a grouping of competencies within the taxonomy of a Learning Standards Document.
    /// </summary>
    public class LearningStandardItem
    {
        #region Instance Properties

        [BsonId]
        public ObjectId _id { get; set; }

        public string Identifier { get; set; }

        public string Code { get; set; }

        public string URL { get; set; }

        public string Type { get; set; }

        public string Statement { get; set; }

        public string Version { get; set; }

        public string TypicalAgeRange { get; set; }

        public ObjectId? RefLanguageId { get; set; }

        public string TextComplexitySystem { get; set; }

        public decimal? TextComplexityMinimumValue { get; set; }

        public decimal? TextComplexityMaximumValue { get; set; }

        public ObjectId? RefBloomsTaxonomyDomainId { get; set; }

        public ObjectId? RefMultipleIntelligenceTypeId { get; set; }

        public string ConceptTerm { get; set; }

        public string ConceptKeyword { get; set; }

        public string License { get; set; }

        public string Notes { get; set; }

        public string LearningStandardItemParentId { get; set; }

        public string LearningStandardItemParentCode { get; set; }

        public string LearningStandardItemParentURL { get; set; }

        public ObjectId? ChildOf_LearningStandardItem { get; set; }

        public ObjectId LearningStandardDocumentId { get; set; }

        public bool? CurrentVersionIndicator { get; set; }

        public string PreviousVersionIdentifier { get; set; }

        public DateTime? ValidStartDate { get; set; }

        public DateTime? ValidEndDate { get; set; }

        public string NodeName { get; set; }

        public ObjectId? RefLearningStandardItemNodeAccessibilityProfileId { get; set; }

        public ObjectId? RefLearningStandardItemTestabilityTypeId { get; set; }

        public string LearningStandardItemSequence { get; set; }

        #endregion Instance Properties
}

}